package com.gj.common.annotation;

import org.apache.log4j.Level;
import org.apache.log4j.net.SyslogAppender;

/**
 * @Description:TODO （描述）
 * @author 作者 jacking
 * @date 创建时间：2017-4-5 下午4:23:30
 * @version 版本1.0
 */
public class TxbyLogger extends org.apache.log4j.Logger {
	protected TxbyLogger(String name) {
		super(name);
	}
	/**
	 * 级别
	 */
	private static int level = 20050;
	/**
	 * 自定义名称
	 */
	private static String name = "TXBY_LOG";


	/**
	 * 根据自定义参数获取对应的级别
	* @Description: TODO(描述) 
	* @param  设定
	* @author 作者 jacking 
	* @date 2017-4-6 上午9:24:24 
	* @return
	 */
	public static Level getTxbyLoggerLevel(int newlevel, String newname){
		if(newlevel>level&&!newname.equals(name)){
			return new TxbyLevel(newlevel, newname, SyslogAppender.LOG_LOCAL0);
		}else{
			return new TxbyLevel(level, name, SyslogAppender.LOG_LOCAL0);
		}
	}
	/**
	 * 根据获取默认对应的级别
	 * @Description: TODO(描述) 
	 * @param  设定
	 * @author 作者 jacking 
	 * @date 2017-4-6 上午9:24:24 
	 * @return
	 */
	public static Level getTxbyLoggerLevel(){
		return new TxbyLevel(level, name, SyslogAppender.LOG_LOCAL0);
	}

	/**
	 * 日志级别处理
	 * 
	 * @ClassName: BanitLevel
	 * @Description: TODO （描述）
	 * @author 作者 jacking
	 * @date 2017-4-5 下午5:51:55
	 */
	private static class TxbyLevel extends Level {
		private TxbyLevel(int level, String name, int sysLogLevel) {
			super(level, name, sysLogLevel);
		}
	}
}
